package selfStudy.demo2.streamtest;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;

public class Test1 {
    public static void main(String[] args) {
        /*
               1.定义一个Person类，包含一个属性：姓名(String)
                定义无参、全参构造方法
                定义get/set方法
                 2.定义main()方法，按依稀顺序编写程序：
       	            定义集合List<String>，添加以下数据：
                “王佳乐”
                “张三丰”
                “王思聪”
                “张飞”
        	使用Stream流的map()方法，将每个元素封装为一个Person对象。
        	将新流中的元素提取为List集合。
        	遍历、打印集合中所有的Person对象信息。

        * */
        ArrayList<String> list = new ArrayList<>();
        list.add("王佳乐");
        list.add("张三丰");
        list.add("王思聪");
        list.add("张飞");
        List<Person> mapList = list.stream().map(new Function<String, Person>() {
            @Override
            public Person apply(String s) {
                Person person = new Person(s);
                return person;
            }
        }).collect(Collectors.toList());
        for (Person person : mapList) {
            System.out.println("这是通过map方法转换的list集合中的:"+person.getName());
        }

    }
}
